using System.Threading.Tasks;
using System.Windows.Controls;
using log4net;
using Triton.Bot;
using Triton.Common;
using Triton.Common.LogUtilities;

namespace ns23
{
	internal class Class221 : IRunnable, IAuthored, IBase, IConfigurable, IRoutine
	{
		private static readonly ILog ilog_0 = Logger.GetLoggerInstanceForType();

		public string Name => "NullRoutine";

		public string Description => "An empty routine for any bot that does not use routines.";

		public string Author => "Bossland GmbH";

		public string Version => "0.0.1.1";

		public UserControl Control => null;

		public JsonSettings Settings => null;

		public void Initialize()
		{
		}

		public void Deinitialize()
		{
		}

		public void Start()
		{
			ilog_0.ErrorFormat("[NullRoutine] The NullRoutine should not be used. Please choose a different routine and Start the bot again.");
			BotManager.Stop();
		}

		public void Tick()
		{
		}

		public void Stop()
		{
		}

		public void SetConfiguration(string name, params object[] param)
		{
		}

		public object GetConfiguration(string name)
		{
			return null;
		}

		public async Task<bool> Logic(string type, object context)
		{
			return false;
		}

		public string ToString()
		{
			return Name + ": " + Description;
		}
	}
}
